import java.util.List;
import java.util.Scanner;

public class Administrator extends User implements Handle {
    public boolean login(String name, String password) {
        //查询用户表中是否有该管理员的账号信息
        String sql = "select UserName name,pwd password from user where UserMarkers <=> '管理员'";
        List<User> result = Query.query(User.class, sql);
        int i;
        for (i = 0; i < result.size(); i++){
            User u = result.get(i);
            //判断所有找到的数据是否有和参数一样的密码和名字
            if(u.getName().equals(name) && u.getPassword().equals(password)){
                System.out.println("登录成功!");
                return true;
            }
        }
        if (i == result.size()){
            System.out.println("登录失败！");
        }
        return false;
    }

    //个人维护：修改本用户的密码
    public void maintenance() {
        boolean judge = true;
        while (judge) {
            System.out.print("请输入原密码：");
            //接收用户所输入的新密码
            Scanner s1 = new Scanner(System.in);
            String password = s1.next();

            //确认密码
            System.out.print("确认密码：");
            Scanner s2 = new Scanner(System.in);
            String password2 = s2.next();
            //在if里面进行数据库的更新操作
            if (password2.equals(password)) {

                System.out.println("修改成功!");
                break;
            } else {
                System.out.println("两次输入密码不一致，请重新输入密码！");
                continue;
            }
            // System.out.println("密码格式错误，密码必须是字母和数字的组合，请重新输入！");
        }
    }

    //！！！！！！！对用户的操作，包括学生和老师的操作用重载
    /*
     * 创建用户:对教师表进行操作
     * 先创建一个对象，执行sql语句更新数据表的数据
     * */
    public boolean create(Teacher t) {
        //先进行查找，如果不存在，则直接退出

        //如果存在，则修改数据库的信息
        return true;
    }

    public boolean create(Course c) {
        return true;
    }

    /*
     * 修改数据库中的信息
     * */
    public void alter(Teacher t) {

    }

    public void alter(Course c) {

    }

    /*
     * 删除用户,直接删除数据库中的信息
     * */
    public void delete(Teacher t) {

    }

    public void delete(Course s) {

    }

    public static void main(String[] args) {
        Administrator a = new Administrator();
        a.login("root","root");
    }
}
